.explore {
  flex: 1 1 auto;

  &-container {
    padding: $dashboard-padding;
  }

  &-wrapper {
    display: flex;

    > .explore-split {
      width: 50%;
    }
  }

  // Push split button a bit
  .explore-first-button {
    margin-left: 15px;
  }

  .explore-panel {
    margin-top: $panel-margin;
  }

  .explore-panel__body {
    padding: $panel-padding;
  }

  .explore-panel__header {
    padding: $panel-padding;
    padding-top: 5px;
    padding-bottom: 0;
    display: flex;
    cursor: pointer;
    margin-bottom: 5px;
    transition: all 0.1s linear;
  }

  .explore-panel__header-label {
    font-weight: 500;
    margin-right: $panel-margin;
    font-size: $font-size-h6;
    box-shadow: $text-shadow-faint;
  }

  .explore-panel__header-buttons {
    margin-right: $panel-margin;
    font-size: $font-size-lg;
    line-height: $font-size-h6;
  }

  // Make sure wrap buttons around on small screens
  .navbar {
    flex-wrap: wrap;
    height: auto;
  }

  .navbar-page-btn {
    margin-right: 1rem;

    // Explore icon in header
    .fa {
      font-size: 100%;
      opacity: 0.75;
      margin-right: 0.5em;
    }
  }

  // Toggle mode
  .navbar-button.active {
    color: $btn-active-text-color;
    background-color: $btn-active-bg;
  }

  .navbar-button--no-icon {
    line-height: 18px;
  }

  .result-options {
    margin: 2 * $panel-margin 0;
  }

  .time-series-disclaimer {
    width: 300px;
    margin: $panel-margin auto;
    padding: 10px 0;
    border-radius: $border-radius;
    text-align: center;
    background-color: $panel-bg;

    .disclaimer-icon {
      color: $yellow;
      margin-right: $panel-margin/2;
    }

    .show-all-time-series {
      cursor: pointer;
      color: $external-link-color;
    }
  }

  .navbar .elapsed-time {
    position: absolute;
    left: 0;
    right: 0;
    top: 3.5rem;
    text-align: center;
    font-size: 0.8rem;
  }

  .graph-legend {
    flex-wrap: wrap;
  }

  .explore-panel__loader {
    height: 2px;
    position: relative;
    overflow: hidden;
    background: none;
    margin: $panel-margin / 2;
    transition: background-color 1s ease;
  }

  .explore-panel__loader--active {
    background: $text-color-faint;
  }

  .explore-panel__loader--active:after {
    content: ' ';
    display: block;
    width: 25%;
    top: 0;
    top: -50%;
    height: 250%;
    position: absolute;
    animation: loader 2s cubic-bezier(0.17, 0.67, 0.83, 0.67);
    animation-iteration-count: 100;
    background: $blue;
  }

  @keyframes loader {
    from {
      left: -25%;
    }
    to {
      left: 100%;
    }
  }

  .datasource-picker {
    min-width: 200px;
  }

  .timepicker {
    display: flex;

    &-rangestring {
      margin-left: 0.5em;
    }
  }

  .run-icon {
    margin-left: 0.25em;
    transform: rotate(90deg);
  }

  .relative {
    position: relative;
  }

  .link {
    text-decoration: underline;
  }
}

.explore + .explore {
  border-left: 1px dotted $table-border;
}

.query-row {
  display: flex;
  position: relative;

  & + & {
    margin-top: 0.5rem;
  }
}

.query-row-tools {
  white-space: nowrap;
}

.query-row-status {
  position: absolute;
  top: 0;
  right: 90px;
  z-index: 1015;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 34px;
}

.query-row-field {
  margin-right: 3px;
  width: 100%;
}

.query-transactions {
  display: table;
}

.query-transaction {
  display: table-row;
  color: $text-color-faint;
  line-height: 1.44;
}

.query-transaction--loading {
  animation: query-loading-color-change 1s alternate 100;
}

@keyframes query-loading-color-change {
  from {
    color: $text-color-faint;
  }
  to {
    color: $blue;
  }
}

.query-transaction__type,
.query-transaction__duration {
  display: table-cell;
  font-size: $font-size-xs;
  text-align: right;
  padding-right: 0.25em;
}

// Prometheus-specifics, to be extracted to datasource soon

.explore {
  .prom-query-field {
    display: flex;
  }

  .prom-query-field-wrapper {
    width: 100%;
  }

  .prom-query-field-info {
    margin: 0.25em 0.5em 0.5em;
    display: flex;

    details {
      margin-left: 1em;
    }
  }
}

// ReactTable basic overrides (does not include pivot/groups/filters)
// When integrating ReactTable as new panel plugin, move to _panel_table.scss

.ReactTable {
  border: none;
}

.ReactTable .rt-table {
  // Allow some space for the no-data text
  min-height: 90px;
}

.ReactTable .rt-thead.-header {
  box-shadow: none;
  background: $list-item-bg;
  border-top: 2px solid $body-bg;
  border-bottom: 2px solid $body-bg;
  height: 2em;
}
.ReactTable .rt-thead.-header .rt-th {
  text-align: left;
  color: $blue;
  font-weight: 500;
}
.ReactTable .rt-thead .rt-td,
.ReactTable .rt-thead .rt-th {
  padding: 0.45em 0 0.45em 1.1em;
  border-right: none;
  box-shadow: none;
}
.ReactTable .rt-tbody .rt-td {
  padding: 0.45em 0 0.45em 1.1em;
  border-bottom: 2px solid $body-bg;
  border-right: 2px solid $body-bg;
}
.ReactTable .rt-tbody .rt-td:last-child {
  border-right: none;
}
.ReactTable .-pagination {
  border-top: none;
  box-shadow: none;
  margin-top: $panel-margin;
}
.ReactTable .-pagination .-btn {
  color: $blue;
  background: $list-item-bg;
}
.ReactTable .-pagination input,
.ReactTable .-pagination select {
  color: $input-color;
  background-color: $input-bg;
}
.ReactTable .-loading {
  background: $input-bg;
}
.ReactTable .-loading.-active {
  opacity: 0.8;
}
.ReactTable .-loading > div {
  color: $input-color;
}
.ReactTable .rt-tr .rt-td:last-child {
  text-align: right;
}
.ReactTable .rt-noData {
  top: 60px;
  z-index: inherit;
}

// React-component cascade fix: show "loading" even though item can expand

.rc-cascader-menu-item-loading:after {
  position: absolute;
  right: 12px;
  content: 'loading';
  color: #767980;
  font-style: italic;
}

// TODO Experimental

.cheat-sheet-item {
  margin: 2*$panel-margin 0;
  width: 50%;
}

.cheat-sheet-item__title {
  font-size: $font-size-h3;
}

.cheat-sheet-item__expression {
  margin: $panel-margin/2 0;
  cursor: pointer;
}
